package com.cloudbroker.bcs.platform.dav.bizapi.t2service.business;

import java.util.Map;

import com.cloudbroker.bcs.platform.dav.bizapi.constants.IFSFunctionIdsNew.IFSDavCustomerFuncIds;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.wechat.result.UserInfoByCode;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.wechat.vo.PayForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.wechat.vo.WechatCode;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.wechat.vo.WechatCodeTenant;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.wechat.vo.WechatPayCallback;
import com.cloudbroker.bcs.platform.dav.bizapi.service.export.vo.response.TongLianPayBackVo;
import com.hundsun.jresplus.remoting.impl.annotation.Service;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceModule;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;

@ServiceModule
public interface WechatT2BizService {

	@Service(functionId = IFSDavCustomerFuncIds.FUNC_GET_USERINFO_BY_CODE , desc="使用code获取用户信息")
	public UserInfoByCode getUserinfoByCode(@ServiceParam("param") WechatCode param);

	@Service(functionId = IFSDavCustomerFuncIds.FUNC_GET_USERINFO_BY_CODE_TENANT , desc="使用code和租户信息获取用户信息")
	public UserInfoByCode getUserinfoByCodeTenant(@ServiceParam("param") WechatCodeTenant param);
	
	/**
	 * 5071134获取调用微信支付JS-SDK的参数
	 * @param param
	 * @return
	 */
	@Service(functionId = IFSDavCustomerFuncIds.FUNC_GET_PAY_DATA, desc="获取调用微信支付JS-SDK的参数")
	public TongLianPayBackVo getPayData(@ServiceParam("param") PayForm param);

	@Service(functionId = IFSDavCustomerFuncIds.FUNC_PAY_CALLBACK , desc="微信支付异步回调")
	public Map<String, Object> payCallback(@ServiceParam("param") WechatPayCallback param);
}
